Linux路由转发+多网卡配置(route命令)

您所在的位置:网站首页 linux 网关服务器 Linux路由转发+多网卡配置(route命令)

Linux路由转发+多网卡配置(route命令)

2023-08-09 14:12| 来源: 网络整理| 查看: 265

文章目录 route命令一、路由表1. 查看路由表信息2. 读懂路由信息示例 3. 添加和删除网关永久增加网关 4. 多网卡配置(仅主机+NET模式)添加一张NET模式下网卡创建一个配置文件双网卡注意事项 二、路由选择1. 环境准备2. 步骤1)开启路由转发功能2)分别添加node2和node3两台主机所在的网络3)分别配置主机2和主机3的ip和网关4)测试

route命令 route -n 查看路由,显示ip,不解析 route del default gw 10.1.1.254 删除默认路由 route add default gw 192.168.1.110 添加一个默认网关,把所有不知道的网络交给网关来转发 route add -net 192.168.2.0/24 dev eth0 对一个网络添加一个新的路由(另一个网段) route del -net 192.168.2.0/24 删除路由 一、路由表

什么是交换?什么是路由?什么是路由表?

交换是指同网络访问(两台机器连在同一交换机上,配置同网段的不同IP就可以直接通讯)路由就是跨网络访问(路径选择)路由表是记录路由信息的表,在Linux中首先是一张可见的,可更改的表,它的作用就是当数据包发到Linux的时候,系统(或者说内核)就根据这张表中定义好的信息来决定这个数据包接下来该怎么走 1. 查看路由表信息

命令:route -n 作用:用来查看和设置路由表信息

在这里插入图片描述

2. 读懂路由信息

在这里插入图片描述

示例

示例1:

按照上面的路由表来看,如果我ping一个公网IP:14.200.149.30,应该怎么走?

先看目标ip是否为本地ip,如果是就直接访问本地IP;若果不存在。则去找路由表里是否有需要访问的网段如果路由表有这个ip则从这个路由的表中的对应的网卡出去;如果路由表中没有要访问的网段,则会找默认路由,也就是网关;如果网关也没有的话,则就会报错

示例2:

按照上面的路由表来看,如果ping一个局域网ip:192.168.122.10,又会怎么走?

ping 192.168.122.10不会走网关,而是走本地路由从 eth0网卡出去,因为路由表有192.168.122.0的路由

3. 添加和删除网关

注意:如果要添加一个网关那么,就要添加一个能够到达该网关的目标网络地址(要和网关在同一个网段)

临时删除网关,马上生效 命令:route del default gw [ip] 在这里插入图片描述

临时增加网关,马上生效

命令:route add default gw [ip]

没有一条到达该网关的路报错 在这里插入图片描述 使用命令:route add -net [ip] dev [网卡名] 添加一条到达指定网关的路 删除目标网络命令:route del -net [ip] dev [网卡名]

在这里插入图片描述

永久增加网关

修改配置文件 路径:/etc/sysconfig/network-scripts/ifcfg-[网卡名]

在这里插入图片描述 注意事项:

加网关只能加你已经有的路由网段里的一个IP才行(此IP不一定存在)加网关可以不用指定子网掩码(因为是已有的一个网段的ip,所以掩码已经确认了) 4. 多网卡配置(仅主机+NET模式)

在这里插入图片描述

添加一张NET模式下网卡

在这里插入图片描述 在这里插入图片描述 添加一张网卡后

在这里插入图片描述

创建一个配置文件

添加的新网卡名叫ens36

在这里插入图片描述 创建一个配置文件

在这里插入图片描述

修改ifcfg-ens36配置文件

在这里插入图片描述 保存退出,重启网卡 systemctl restart network

在这里插入图片描述

双网卡注意事项

一个linux服务器上能有几个有效网关? 准确来说:一个路由表上可以加多个网关,但只有一个生效。

我一台linux上如果有双物理网卡,请问可不可以两个网卡配置同网段的不同IP呢? eth0 10.1.1.1/24 eth1 10.1.1.2/24

如果两个网卡同网段,则会有下面两条路由 10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eht1

结果: 它会实现从两张网卡进来的包,却从一张网卡出去,问题就产生了。假设eth0网卡有问题时,路由表里匹配到第一条后,依然会走eth0网卡,而不会走eth1。 也有解决方法(比如多路由表或者双网卡绑定),这里不涉及。

二、路由选择 1. 环境准备

三台虚拟机的网络模式都为仅主机模式

主机1 ip:10.1.1.1/24 主机1作为网关服务器,开启路由转发功能主机2 ip:192.168.0.254/24主机3 ip:172.16.0.254/24

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

要求 实现不同网络(172.16.0.0/24和192.168.0.0/24)直间的互通,使用第三方主机1作为路由进行转发

2. 步骤 1)开启路由转发功能

主机1中间人完成一下任务

临时开启路由转发功能 命令:echo 1 > /proc/sys/net/ipv4/ip_forward

在这里插入图片描述 永久开启 修改配置文件 vim /etc/sysctl.conf 添加 net.ipv4.ip_forward = 1

2)分别添加node2和node3两台主机所在的网络

在主机1中 添加到达主机2的路,命令:route add -net 192.168.0.0/24 dev ens33 添加到达主机3的路,命令:route add -net 172.16.0.0/24 ens33

在这里插入图片描述

3)分别配置主机2和主机3的ip和网关

把主机2和主机3的网关配置成主机1的ip 注意:在配置网关前,一定要先添加一条能到网关的路,也就是添加一个和网关在同一网段的目标网络IP

在主机2和主机3里都执行添加目标网络和默认网关的命令命令 注意:ens33是网卡名 route add -net 10.1.1.0/24 dev ens33 添加好到网关的路之后,再添加默认网关(也就是主机1的Ip,通过主机1来实现路由转发) 命令:route add default gw 10.1.1.1

在这里插入图片描述

4)测试

在主机1里分别ping主机2和主机3

在这里插入图片描述 接着测试主机3和主机2之间互相ping,看看是否联通

在这里插入图片描述 在这里插入图片描述 最后实现借助中间主机1路由转发,实现主机2和主机3之间通信



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3